iT邦幫忙

2021 iThome 鐵人賽

DAY 19
0

從第一天到今天, 主軸是從training、tracking到serving. 在第一個範例(fastai, MNIST)中我們使用JupyterHub做training, 使用MLflow做trackning, 而使用Django做Serving, 架構圖說明如下:

  • JupyterHub: 撰寫notebook並執行訓練產生model
  • MLFlow: 在notebook內容加入記錄(log)的語法, 記錄每次執行(run)的parameter、metric與model, 這樣容易比較每次訓練的結果.
  • Django: 在local(WSL)環境, 手動將Django安裝起來, 並且手動將model複製到Django的專案中,也需要寫一些程式, 再啟動Django專案後產生endpoint. 若真的要將model部署在正式環境則需要另外尋找部署環境, 例如AWS或GCP等.

https://ithelp.ithome.com.tw/upload/images/20211002/20140792zGEUMbwlgq.png

在第二個範例中, 我們將serving的環境由Django改為Seldon core, 架構圖修改如下. 使用Seldon core的好處是安裝容易, 因為我們已經有一座K8s, 以helm安裝sledon core是一件容易的事, 而且可以整合istio所提供的ingress controller功能(NodePort), 讓我們可以在K8s cluster外部存取到模型的endpoint以取得推論結果.
但比較麻煩的事情是我們還要準備pvc讓Seldon能夠讀取model檔, 而且放置model檔的過程有點麻煩(做法是自已建立一個POD, 再由這個POD mount pvc的空間, 再將model檔複製到pvc空間).

https://ithelp.ithome.com.tw/upload/images/20211002/201407925uQK4n1ssS.png

最後, 再把MinIO加進來(取代pvc的方式), 架構圖如下所示. 加入MinIO之後, 我們可以使用指令將model檔存放到MinIO的儲存空間, 然後seldon core可以使用s3:// protocol的方式讀取model檔, 這樣可以簡化部署model的過程.

https://ithelp.ithome.com.tw/upload/images/20211002/20140792i6jQxeP9qV.png

到這裡講完第二個範例內容, 下一篇開始說明第三個範例.


上一篇
部署model on seldon(MinIO)
下一篇
Auto ML簡介
系列文
AI平台初學者工作坊: 從training、tracking到serving30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言